import lib from 'base64.js';


// 时间格式化   date 2018/12/12 12:12:12
const formatTime = date => {
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()
  const hour = date.getHours()
  const minute = date.getMinutes()
  const second = date.getSeconds()

  return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}

// 日期时间转时间戳   2018-12-02 17:09:09  
const timeToTimestamp = time => {
  var date = new Date(time.replace(/-/g, "/"));
  var time1 = date.getTime();
  return time1;
};

const formatNumber = n => {
  n = n.toString()
  return n[1] ? n : '0' + n
};

// base64解码
const base64DecodeUnicode = str=>{
  let newStr = decodeURIComponent(str);
  return lib.decode(newStr);
};

// 防止重复点击  -- JS函数节流和函数防抖
const throttle = (fn, gapTime)=> {
  if (gapTime == null || gapTime == undefined) {
    gapTime = 1500
  };
  let _lastTime = null;
  // 返回新的函数
  return function () {
    let _nowTime = + new Date()
    if (_nowTime - _lastTime > gapTime || !_lastTime) {
      fn.apply(this, arguments)   //将this和参数传给原函数
      _lastTime = _nowTime
    };
  }
};




module.exports = {
  formatTime: formatTime,
  base64DecodeUnicode: base64DecodeUnicode,
  timeToTimestamp: timeToTimestamp,
  throttle: throttle,
}
